# int ==> str  str ==> int  bool ==> int  int ==> float

age = input("enter you age: ")
age = int(age)  # 使用 int 内置类可以将其他的类型转化为整型
print(age)

a = '12'
a = int(a)
print(type(a))

b = 'a1c'
#  b = int(b)  # 默认 str 是十进制数，而十进制数不存在'a1c'
#  def __init__(self, x, base=10):  # known special case of int.__init__
b = int(b, 16)
print(b)
print(type(b))

#  使用内置类 float 转换成浮点型
f = '12.13'
f = float(f)
print(f + 1)

#  使用内置类 str 转换成字符串
s = 23
print(type(s))
s = str(s)
print(type(s))

#  使用内置类 bool 转换成布尔类型
#  数字中， 0为False， 其他都为True
b1 = 10
b2 = 0
b3 = -10
print(bool(b1), bool(b2), bool(b3))
#  字符串中， 空字符串""表示False， 其他都为True
print(bool(""), bool('ads'), bool(''))
#  None也是False
print(bool(None))  # False
print(bool("None"))  # True
print(None)

#  数字0, 空字符串''/"", 空列表[], 空元组(), 空字典{}, 空集合set(), 空数据None  为   False
print(bool([]))  # False
print(bool(()))  # False
print(bool({}))  # False
print(bool())  # False
s = set()
print(bool(s))  # False

print(True, False)
print(True + 1)
print(False - 1)

#  隐式类型转换
if 3 > 2:
    print('3 > 2')
